Skip to content

Conversation

@kenowagb
Copy link
Collaborator

@kenowagb kenowagb commented Aug 3, 2026

The results web page needs the letter grade and numeric score from the shared link, not only the BST start and placed sequences.

TreeShareConfig: adds editable query keys for grade and score, and moves the default viewer path from /view to /results. Both accessors fall back to the canonical key name when the asset field is left blank, matching how start and placed already behave.

TreeRunTracker.BuildViewerUrl: now takes the final Grade and score and appends grade and score params. The score is formatted with invariant culture so a machine with a comma decimal separator cannot corrupt the link.

TreeResultQrDisplay.PrepareResultQrCode: now takes the run's RhythmScoreTracker, which is the same instance the result screen shows, so the QR and the on-screen stats can never disagree. A null tracker logs an error, finishes level tracking, and shows the QR fallback rather than encoding an incomplete link.

ResultScreenController: passes the score tracker it already has to the QR prepare call.

TreeShareConfig.asset: sets the new grade and score keys and the /results base URL for this project.

Kenneth Enow and others added 2 commits August 3, 2026 00:10
The results web page needs the letter grade and numeric score from the
shared link, not only the BST start and placed sequences.

TreeShareConfig: adds editable query keys for grade and score, and moves
the default viewer path from /view to /results. Both accessors fall back
to the canonical key name when the asset field is left blank, matching
how start and placed already behave.

TreeRunTracker.BuildViewerUrl: now takes the final Grade and score and
appends grade and score params. The score is formatted with invariant
culture so a machine with a comma decimal separator cannot corrupt the
link.

TreeResultQrDisplay.PrepareResultQrCode: now takes the run's
RhythmScoreTracker, which is the same instance the result screen shows,
so the QR and the on-screen stats can never disagree. A null tracker
logs an error, finishes level tracking, and shows the QR fallback rather
than encoding an incomplete link.

ResultScreenController: passes the score tracker it already has to the
QR prepare call.

TreeShareConfig.asset: sets the new grade and score keys and the
/results base URL for this project.

Co-authored-by: Cursor <cursoragent@cursor.com>
@psukesh psukesh merged commit f190357 into main Aug 4, 2026
Sign in to join this conversation on GitHub.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants